package com.muyu.danmo.mapper;


import com.muyu.danmo.domain.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 画廊详情Mapper接口
 *
 * @author yangle
 * @date 2024-10-23
 */
public interface DanmoGalleryDetailsMapper
{
    /**
     * 查询画廊详情
     *
     * @param id 画廊详情主键
     * @return 画廊详情
     */
    public DanmoGalleryDetails selectDanmoGalleryDetailsById(Long id);

    /**
     * 查询画廊详情列表
     *
     * @param danmoGalleryDetails 画廊详情
     * @return 画廊详情集合
     */
    public List<DanmoGalleryDetails> selectDanmoGalleryDetailsList(DanmoGalleryDetails danmoGalleryDetails);

    /**
     * 新增画廊详情
     *
     * @param danmoGalleryDetails 画廊详情
     * @return 结果
     */
    public int insertDanmoGalleryDetails(DanmoGalleryDetails danmoGalleryDetails);

    /**
     * 修改画廊详情
     *
     * @param danmoGalleryDetails 画廊详情
     * @return 结果
     */
    public int updateDanmoGalleryDetails(DanmoGalleryDetails danmoGalleryDetails);

    /**
     * 删除画廊详情
     *
     * @param id 画廊详情主键
     * @return 结果
     */
    public int deleteDanmoGalleryDetailsById(Long id);

    /**
     * 批量删除画廊详情
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDanmoGalleryDetailsByIds(Long[] ids);

    void addDanmoGalleryWorksList(@Param("list") List<DanmoGalleryWorks> galleryWorksList);

    void addDanmoGalleryInteriorList(@Param("list") List<DanmoGalleryInterior> galleryInteriorList);

    void addDanmoGalleryDetails(@Param("list") List<DanmoGalleryDoor> galleryDoorList);

    void batchInsert(@Param("list") List<DanmoGalleryDetailsType> danmoGalleryDetailsTypes);


    void deleteDanmoGalleryDetailsType(@Param("id") Long id);

    List<Long> selectIdsByGalleryDoorIds(@Param("id") Long id);

    List<Long> selectIdsByGalleryWorksIds(@Param("id") Long id);

    List<Long> selectIdsBytGalleryInterior(@Param("id") Long id);

    void batchDeleteoldDoorIds(@Param("list") List<Long> oldDoorIds);

    void batchDeleteoldWorkIds(@Param("list") List<Long> oldWorkIds);

    void batchDeleteOldtGalleryInteriorIds(@Param("list") List<Long> oldInteriorIds);

    void deledanmoGalleryDetailsType(Long id);
}
